1. Field of the Invention
The present invention relates to fan control and, more particularly, to fan control based on system operation information.
2. Description of the Related Art
Information processing systems such as computer systems often generate great amounts of heat which can be detrimental to the performance of such systems and which can even permanently harm such systems. Consequently, the controlled and harmless dissipation or removal of heat generated in such systems, and the avoidance of temperature swings, both instantaneous and absolute, are seemingly ubiquitous engineering challenges. Heat sinks are often used to avoid instantaneous temperature swings. Nonetheless, large swings may still occur without proper management of heat removal systems (e.g., fans).
Many systems include fans to increase the rate of heat removal. While the mere addition of a fan aids heat dissipation, proper control of a fan can help to optimize or improve heat removal. Proper use of fans can provide the potential for increased system performance, whether by making it possible to add a greater number of heat generating devices (e.g., microprocessors or other integrated circuits) or by making it possible to enhance the operation of such devices (e.g., at higher power levels and/or at higher frequencies).
The ambient temperature of the system is commonly used as an input for controlling fan speed. For example, hardware or software may detect that the temperature is above a certain threshold and then turn on a system fan in response to the temperature change that has already occurred. Such an implementation could then turn off the fan when the system cools down. A bit may be set in a control register when the sensor detects a temperature over the threshold. This, in turn, may cause an interrupt to occur, and an interrupt handler to turn on the fan.
Fans often have the ability to be operated at variable speeds via hardware-based pulse-width modulation (PWM) generators. Also, a thermistor may be used directly inline with the fan. The resistance of the thermistor changes with the heat, and thus controls the current in real time. This type of control may be integrated directly into the fan so that the system is otherwise unaware that fan control actions are occurring. In this implementation, the fan runs at a speed that corresponds to the temperature that has already occurred in the system. In the case of a CPU fan, the temperature of the heat sink as a whole is measured by the thermistor. The fan also changes speed at a rate that is proportional to the size of the heat sink. Larger thermal masses result in slower temperature changes.
In a typical system, when the performance of processing devices is increased, the devices heat up as a result. The ambient temperature of the system can be used to control a fan as described above, but such implementations cannot predict what the system temperature will be, since they have no knowledge of the power being dissipated by systems components.
The use of fans introduces a certain amount of noise to the end users of information processing systems. Unfortunately, fan noise can be a significant contributor to the quality of experience obtained by the end users of such systems. Fan noise may be conceptualized as being a product of two factors. First, fan noise can become disagreeably perceptible as a result of the absolute fan speed. If the fan is operating at a high speed, the fan will exhibit greater and more noticeable fan noise. Secondly, fan noise is more easily perceived by end users during speed changes of the fan. Thus, if the fan undergoes many speed changes, and if those speed changes take place in short periods of time, the fan noise can become disturbing for the end user. In contrast, low level, steady state noise, or noise resulting from slower speed changes, can be filtered out by the human brain.